package com.winit.openapi.chinapost.model;

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Order {
	
	/**
	 * 国内运单号(圆通快递单号)
	 */
	private String mailNo;
	
	/**
	 * 物流订单号（winit order）
	 */
	private String orderCode;
	
	/**
	 * 说明备注
	 */
	private String remark;
	   
    /**
     * 退货失败代码，（不能超过8个汉字）退货失败代码，（不能超过8个汉字）
     */
    private String remarkCode;
	
	/**
	 * 国内快递公司ID（）
	 */
	private Long domesticExpressId;
	
	/**
	 * 国内快递公司Code（揽件填中邮仓库code，中邮提供。发物流则填圆通公司）
	 */
	private String domesticExpressCode;
	
	/**
	 * 国内快递公司名中文简称
	 */
	private String domesticExpressName;
	
	/**
	 * 0不用上门揽收，1需要上门揽收
	 */
	private Integer doorPickup;
	
	/**
	 * 交易号（WINIT发货通知ID）
	 */
	private Long tradeId;
	
	/**
	 * 发货时间
	 */
	private String orderCreateTime;
	
	/**
	 * 扩展字段，以key=valued的格式，中间用分号隔开
	 */
	private String extendFields;
	
	/**
	 * subOrder结构体
	 */
	private List<SubOrder> subOrders; 
	
	/**
	 * Contact结构体
	 */
	private Contact contact;

	public String getMailNo() {
		return mailNo;
	}

	public void setMailNo(String mailNo) {
		this.mailNo = mailNo;
	}

	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Long getDomesticExpressId() {
		return domesticExpressId;
	}

	public void setDomesticExpressId(Long domesticExpressId) {
		this.domesticExpressId = domesticExpressId;
	}

	public String getDomesticExpressCode() {
		return domesticExpressCode;
	}

	public void setDomesticExpressCode(String domesticExpressCode) {
		this.domesticExpressCode = domesticExpressCode;
	}

	public String getDomesticExpressName() {
		return domesticExpressName;
	}

	public void setDomesticExpressName(String domesticExpressName) {
		this.domesticExpressName = domesticExpressName;
	}

	public Integer getDoorPickup() {
		return doorPickup;
	}

	public void setDoorPickup(Integer doorPickup) {
		this.doorPickup = doorPickup;
	}

	public Long getTradeId() {
		return tradeId;
	}

	public void setTradeId(Long tradeId) {
		this.tradeId = tradeId;
	}

	public String getOrderCreateTime() {
		return orderCreateTime;
	}

	public void setOrderCreateTime(String orderCreateTime) {
		this.orderCreateTime = orderCreateTime;
	}

	public String getExtendFields() {
		return extendFields;
	}

	public void setExtendFields(String extendFields) {
		this.extendFields = extendFields;
	}

	@XmlElementWrapper(name="subOrders")
	@XmlElement
	public List<SubOrder> getSubOrders() {
		return subOrders;
	}

	public void setSubOrders(List<SubOrder> subOrders) {
		this.subOrders = subOrders;
	}

	public Contact getContact() {
		return contact;
	}

	public void setContact(Contact contact) {
		this.contact = contact;
	}

    
    public String getRemarkCode() {
        return remarkCode;
    }

    
    public void setRemarkCode(String remarkCode) {
        this.remarkCode = remarkCode;
    }
	
}
